Instructions for Plug-in Creation



We offer you to create your own plug-in. If you send us your plug-in, you will be given a free Handy Backup copy and your plug-in will be available for downloading on this site. This allows you to make the data backup process of often used applications easier.


Each plug-in represents a well-formed XML document written according to XML 1.0 specification (http://www.w3.org/TR/xml). Plug-in must contain the following essential parts - Prolog and only one root element (which looks like <root></root>). The root element must contain only one Description and several Backup elements.


Prolog

Prolog is a mandatory part of XML document that contains general information about the document. In our case it can be the next line: <?xml version="1.0" encoding="utf-8"?>.


Description element

This element contains information about this specific plug-in. All information is written as text data in its child elements. The following child elements are available:
Name - application name, for which plug-in is created.
Group - category name that contains this application (list of categories you can find on our site).
Version - compatible application versions, for which plug-in is created.
Author - plug-in author name.



Backup element

This element contains the information about the data, which this plug-in backups. There may be several elements. It is obligatory to indicate the attribute id, which identifies the element unambiguously, even if there is only 1 Backup element.

Available child elements:

For indicating paths to folders use standard Windows Environmental Variables.

The list of some of them you can see here.

To check the work of created plug-in, it is necessary to add it to the folder ProgramFiles/Novosoft/HandyBackup/Xmlplugins, create and perform a new task.


Search algorithms

3 algorithms of the path search on the given parameters in the element "Path" are realized. The type of an algorithm is given by the element "Type". The possible values 1,2,3:

  1. There is a key search in the path of the Registry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder where the program is located. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped.
  2. There is a search of the key, containing the information about the file extension associated with the program, in the path of the Registry "HKEY_CLASSES_ROOT\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program, in the following format: <the path to the folred>, <identifier >. We look for file <FileName> on this path. If this file exists, it means that this is the needed path. Hence, the search is unzipped.
  3. There is a key search in the path of the Registry "<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped. If the value<IncludeSub>=TRUE, then, if the search fails, there is the search of values of all keys included in <KeyPath>.

Windows Environmental Variables

$PATH$--path to the folder, where the program is installed. It is determined in the element <Path>.

Variables for the description of path to system folders Windows:

$ADMINTOOLS$ - File system directory that is used to store administrative tools for an individual user

$ALTSTARTUP$ - File system directory that corresponds to the user's nonlocalized Startup program group.

$APPDATA$ - File system directory that serves as a common repository for application-specific data. A typical path is C:\Documents and Settings\username\Application Data

$CDBURN_AREA$ - File system folder used to hold data for burning to a CD. Typically [User Profile Folder]\Local Settings\Applications Data\Microsoft\CD Burning.

$COMMON_ADMINTOOLS$ - File system directory containing administrative tools for all users of the computer.

$COMMON_ALTSTARTUP$ - File system directory that corresponds to the nonlocalized Startup program group for all users. Valid only for Windows NT® systems.

$COMMON_APPDATA$ - Application data for all users. A typical path is C:\Documents and Settings\All Users\Application Data.

$COMMON_DESKTOPDIRECTORY$ - File system directory that contains files and folders that appear on the desktop for all users. A typical path is C:\Documents and Settings\All Users\Desktop. Valid only for Windows NT® systems.

$COMMON_DOCUMENTS$ - File system directory that contains documents that are common to all users. Typical paths are C:\Documents and Settings\All Users\Documents.

$COMMON_FAVORITES$ - File system directory that serves as a common repository for all users' favorite items. Valid only for Windows NT® systems.

$ COMMON_MUSIC$ - My Music folder for all users.

$COMMON_PICTURES$ - My Pictures folder for all users.

$COMMON_PROGRAMS$ - File system directory that contains the directories for the common program groups that appear in the Start Menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs. Valid only for Windows NT systems.

$COMMON_STARTMENU$ - File system directory that contains the programs and folders that appear on the Start Menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu. Valid only for Windows NT systems.

$COMMON_STARTUP$ - File system directory that contains the programs that appear in the Startup folder for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs\Startup. Valid only for Windows NT systems.

$COMMON_TEMPLATES$ - File system directory that contains the templates that are available to all users. A typical path is C:\Documents and Settings\All Users\Templates. Valid only for Windows NT systems.

$COMMON_VIDEO$ - My Video folder for all users.

$CONTROLS$ - Virtual folder that contains icons for Control Panel applications.

$COOKIES$ - File system directory that serves as a common repository for Internet cookies. A typical path is C:\Documents and Settings\username\Cookies.

$DESKTOP$ - Windows desktop-virtual folder that is the root of the name space.

$FAVORITES$ - File system directory that serves as a common repository for the user's favorite items. A typical path is C:\Documents and Settings\username\Favorites.

$FONTS$ - Virtual folder that contains fonts. A typical path is C:\WINNT\Fonts.

$HISTORY$ - File system directory that serves as a common repository for Internet history items.

$INTERNET_CACHE$ - File system directory that serves as a common repository for temporary Internet files. A typical path is C:\Documents and Settings\username\Temporary Internet Files.

$LOCAL_APPDATA$ - File system directory that serves as a data repository for local (nonroaming) applications. A typical path is C:\Documents and Settings\username\Local Settings\Application Data.

$MYMUSIC$ - File system directory that serves as a common repository for music files. A typical path is C:\My Music.

$MYPICTURES$ - My Pictures folder. A typical path is C:\Documents and Settings\username\My Documents\My Pictures.

$MYVIDEO$ - File system directory that serves as a common repository for video files.

$NETHOOD$ - A file system folder that contains the link objects that can exist in the My Network Places virtual folder. A typical path is C:\Documents and Settings\username\NetHood.

$PERSONAL$ - File system directory that serves as a common repository for documents. A typical path is C:\Documents and Settings\username\My Documents. This is different from the My Documents virtual folder in the name space.

$PRINTHOOD$ - File system directory that contains the link objects that can exist in the Printers virtual folder. A typical path is C:\Documents and Settings\username\PrintHood.

$PROFILE$ - User's profile folder.

$PROGRAM_FILES$ - Program Files folder. A typical path is C:\Program Files.

$PROGRAM_FILES_COMMON$ - A folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows NT and Windows 2000 systems.

$PROGRAMS$ - File system directory that contains the user's program groups (which are also file system directories). A typical path is C:\Documents and Settings\username\Start Menu\Programs.

$RECENT$ - File system directory that contains the user's most recently used documents. A typical path is C:\Documents and Settings\username\Recent.

$SENDTO$ - File system directory that contains Send To menu items. A typical path is C:\Documents and Settings\username\SendTo.

$STARTMENU$ - File system directory that contains Start Menu items. A typical path is C:\Documents and Settings\username\Start Menu.

$STARTUP$ - File system directory that corresponds to the user's Startup program group. The system starts these programs whenever any user logs onto Microsoft® Windows NT® or starts Microsoft® Windows® 98. A typical path is C:\Documents and Settings\username\Start Menu\Programs\Startup.

$SYSTEM$ - System folder. A typical path is C:\WINNT\SYSTEM32

$TEMPLATES$ - File system directory that serves as a common repository for document templates.

$WINDOWS$ - Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables. A typical path is C:\WINNT.


Send your plug-in to registered@handybackup.net. We will advertise it on our web site and send you a FREE Handy Backup registration number!



Creation Of Plug-Ins

Working on Non-Windows Platforms

Go to Help Contents